package 递归;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class test {
    public static void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {
        int n = A.size();
        //
        move(A,  B, C, n);
    }
    public static void move(List<Integer> A, List<Integer> B, List<Integer> C, int n) {
        if(n == 1){
            C.add(A.remove(A.size()-1));
            return;
        }
        move(A, C, B, n - 1);
        move(A, B, C, 1);
        move(B, A, C, n - 1);

    }

    public static void main(String[] args) {
        ArrayList<Integer> A = new ArrayList<>();
        A.add(2);
        A.add(0);
        A.add(1);
        ArrayList<Integer> B = new ArrayList<>();
        ArrayList<Integer> C = new ArrayList<>();
        hanota(A, B, C);
        System.out.println(Arrays.toString(C.toArray()));

    }
}
